package zzs.generalframework.console.core.parameter.commonparameter.operatingpost.service;

import java.util.List;

import zzs.generalframework.common.core.parameter.commonparameter.operatingpost.OperatingPostBO;
import zzs.generalframework.common.core.parameter.commonparameter.operatingpost.OperatingPostInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.parameter.commonparameter.operatingpost.service
 * @author zzs
 * @date 2018年2月2日
 * @version 1.0
 */
public interface IOperatingPostService
{

	/**
	 * 保存工作岗位信息
	 *
	 * @param operatingPost
	 * @return
	 */
	public ConsoleReturnBO saveOperatingPost(OperatingPostBO operatingPostBO);

	/**
	 * 保存工作岗位信息列表
	 *
	 * @param operatingPostBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO saveOperatingPost(List<OperatingPostBO> operatingPostBOList) throws ConsoleException;

	/**
	 * 获取工作岗位信息
	 *
	 * @param operatingPostInfo
	 * @return
	 */
	public ConsoleReturnBO getOperatingPost(OperatingPostInfo operatingPostInfo);

	/**
	 * 获取工作岗位信息列表
	 *
	 * @param operatingPostInfo
	 * @return
	 */
	public ConsoleReturnBO listOperatingPost(OperatingPostInfo operatingPostInfo);

	/**
	 * 更新工作岗位信息
	 *
	 * @param operatingPostBO
	 * @return
	 */
	public ConsoleReturnBO updateOperatingPost(OperatingPostBO operatingPostBO);

	/**
	 * 更新工作岗位信息列表
	 *
	 * @param operatingPostBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updateOperatingPost(List<OperatingPostBO> operatingPostBOList) throws ConsoleException;

	/**
	 * 删除工作岗位信息
	 *
	 * @param operatingPostBO
	 * @return
	 */
	public ConsoleReturnBO removeOperatingPost(OperatingPostBO operatingPostBO);

	/**
	 * 删除工作岗位信息列表
	 *
	 * @param operatingPostBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removeOperatingPost(List<OperatingPostBO> operatingPostBOList) throws ConsoleException;

	/**
	 * 统计工作岗位信息
	 *
	 * @param operatingPostBO
	 * @return
	 */
	public Long countOperatingPost(OperatingPostBO operatingPostBO);

}
